ANÁLISE ESTATÍSTICA MULTIVARIADA

Autor

João Ricardo F. de Lima

Data de Publicação

9 de março de 2024


Conceito, Objetivos e Dados

Consiste em um conjunto de métodos estatísticos usados para simplificar a interpretação de grandes conjuntos de dados. A aplicação pode ocorrer em diversas áreas do conhecimento.

Segundo Mingoti (2005, p. 21), “embora historicamente o uso de métodos multivariados esteja relacionado com trabalhos na Psicologia, Ciências Sociais e Biológicas, mais recentemente eles têm sido aplicados em um grande universo de área diferentes, como: Educação, Geologia, Química, Física, Engenharia, Ergonomia, etc.”.

Basicamente os objetivos são:

  1. Redução ou simplificação da base de dados sem sacrificar informação importante;

  2. Ordenação e agrupamento (classificação) - criar grupos de objetos (ou variáveis) semelhantes com base em várias características. Por isso é multivariada;

  3. Investigação da estrutura de dependência entre as variáveis. Podemos ter um conjunto de dados relacionados com tecnologias utilizadas nas fazendas e outro conjunto de dados relacionados com característica do dono da propriedade. A dependência entre estes grupos de variáveis pode indicar porque algumas propriedades usam mais tecnologias do que outras;

  4. Predição - realizar previsões;

  5. Construção de hipóteses e testes.

As técnicas de Análise multivariada são muito utilizadas para a construção de índices. Um índice sintetiza em uma única variável a informação de todas as variáveis que foram medidas sobre o fenômeno. Como exemplo, pode-se citar Índice de Desemprego, Índice de Qualidade de Vida, Índice de Qualidade Ambiental, Índice de Desenvolvimento Humano (IDH), entre outros. Nestes casos, a Análise de Componentes Principais ou Análise Fatorial são técnicas que podem ser utilizadas (LIMA, 2015).

Outra aplicação interessante é quando se procura dividir um conjunto de objetos em grupos que sejam os mais homogêneos possíveis dentro do grupo e heterogêneos entre si. Uma empresa pode buscar estratificar seus clientes, dividindo-os em grupos e traçando objetivos para cada grupo separadamente. Pode-se separar os municípios de determinado estado em grupos homogêneos com o intuito de delinear programas adequados para os diferentes grupos. Nestes casos, a Análise de Cluster é a técnica adequada (LIMA, 2015).

Outra situação é a enfrentada pelas seguradoras para realização de seguros de veículos. Cada cliente se encaixa em determinado perfil que pode ter maior ou menor risco de sinistro. Neste caso, pode-se aplicar Análise Discriminante buscando identificar a qual grupo de risco de sinistro um determinado elemento tem mais chance de pertencer (LIMA, 2015).

Os dados para Análise multivariada em uma amostra de seção cruzada são geralmente compostos de variáveis (renda, idade, anos de escolaridade, etc.) e observações (pessoa, família, escola, município, estado, país, etc.). Dispostos em uma tabela os dados formam uma matriz em que cada coluna se refere a uma variável e cada linha a uma observação. As observações são as unidades de Análise ou unidades amostrais e as variáveis são as características medidas nas observações. Assim, os dados usados são tipicamente formados por n observações em p variáveis.

#Verificando o diretorio que o R esta direcionado
getwd()
[1] "/Users/jricardofl/Dropbox/Facape/2024/Introduçao a Ciencia de Dados/aula4"
#Direcionado o R para o Diretorio a ser trabalhado
setwd('/Users/jricardofl/Dropbox/tempecon/dados_censoagro')

#Pacote
library(readxl)

#Entrada dos dados
dados <- read_excel("artigo.xlsx")

# Nomes das variáveis utilizadas
#
#x1 Porcentagem dos estabelecimentos que usam força animal
#x2 Porcentagem dos estabelecimentos que usam força mecânica
#x3 Porcentagem da área com pastagens que é plantada
#x5 area trabalhada como porcentagem da área aproveitável
#x6 Area com lavouras permanentes e temporárias como proporção da área aproveitável
#x7 Numero de tratores por equivalente homem
#x8 Numero de tratores por área explorada
#x9 Numero de arados por área explorada
#x10    Numero de colheitadeiras por área explorada
#x11    Valor total dos combustíveis consumidos por área explorada
#x12    Quantidade de energia eletrica consumida por área explorada
#x13    Quantidade de energia eletrica consumida po equivalente homem
#x14    Valor total dos bens por área explorada
#x15    Valor total dos bens por equivalente homem
#x16    valor total dos investimentos por area explorada
#x17    Valor total dos investimentos por equivalente homem
#x18    Valor total dos financiamentos em 2006 por área explorada
#x19    Valor total dos financiamentos em 2006 por equivalente homem.
#x20    Valor total da produção em 2006, por área explorada
#x21    Valor total da produção em 2006, por equivalente-homem
#x22    Valor total das despesas em 2006, por área explorada
#x23    Valor total das despesas em 2006, por equivalente homem
#x24    Despesas com adubos, corretivos, sementes e mudas, agrotóxicos, medicamenteos para animais, sal e rações por área explorada
#x25    Despesas com adubos, corretivos, sementes e mudas, agrotóxicos, medicamenteos para animais, sal e rações por equivalente homem
#x26    Assistência Técnica
#x27    uso de agrotóxico para controle de pragas e doenças
#x28    uso de controle alternativo de pragas e doenças
#x29    irrigação

#Visualizaçao dos dados
round(head(dados, 15),1)
summary(dados)
       x1               x2                x3              x5        
 Min.   : 0.000   Min.   : 0.3141   Min.   : 0.00   Min.   : 4.145  
 1st Qu.: 9.273   1st Qu.: 3.1585   1st Qu.:12.45   1st Qu.:31.239  
 Median :21.774   Median : 6.1091   Median :27.93   Median :48.746  
 Mean   :28.304   Mean   :10.7766   Mean   :31.25   Mean   :51.011  
 3rd Qu.:43.841   3rd Qu.:13.9814   3rd Qu.:45.17   3rd Qu.:71.117  
 Max.   :88.970   Max.   :65.4206   Max.   :99.39   Max.   :99.126  
       x6               x7                x8                  x9          
 Min.   : 1.854   Min.   :0.00000   Min.   :0.0000000   Min.   :0.000000  
 1st Qu.:15.328   1st Qu.:0.01494   1st Qu.:0.0005492   1st Qu.:0.001005  
 Median :27.945   Median :0.02586   Median :0.0011719   Median :0.003356  
 Mean   :36.695   Mean   :0.04053   Mean   :0.0019096   Mean   :0.010467  
 3rd Qu.:56.710   3rd Qu.:0.05072   3rd Qu.:0.0026078   3rd Qu.:0.012678  
 Max.   :98.477   Max.   :0.52381   Max.   :0.0235613   Max.   :0.111792  
      x10                 x11               x12                x13          
 Min.   :0.000e+00   Min.   :0.00000   Min.   :0.001409   Min.   : 0.03629  
 1st Qu.:0.000e+00   1st Qu.:0.01189   1st Qu.:0.014036   1st Qu.: 0.32684  
 Median :0.000e+00   Median :0.02268   Median :0.024761   Median : 0.60987  
 Mean   :9.952e-05   Mean   :0.03464   Mean   :0.055689   Mean   : 0.99300  
 3rd Qu.:0.000e+00   3rd Qu.:0.04019   3rd Qu.:0.047151   3rd Qu.: 1.18653  
 Max.   :3.570e-03   Max.   :0.33107   Max.   :2.292243   Max.   :14.45350  
      x14               x15              x16               x17          
 Min.   : 0.4787   Min.   :  4.73   Min.   :0.00000   Min.   :  0.0000  
 1st Qu.: 1.9221   1st Qu.: 45.17   1st Qu.:0.03837   1st Qu.:  0.7292  
 Median : 3.3407   Median : 83.51   Median :0.06399   Median :  1.4646  
 Mean   : 4.8614   Mean   :104.56   Mean   :0.08980   Mean   :  2.8145  
 3rd Qu.: 5.6912   3rd Qu.:133.06   3rd Qu.:0.09981   3rd Qu.:  2.6578  
 Max.   :56.3753   Max.   :550.05   Max.   :0.78753   Max.   :163.4401  
      x18               x19                x20                x21         
 Min.   :0.00000   Min.   :  0.0000   Min.   : 0.05285   Min.   :  2.074  
 1st Qu.:0.02011   1st Qu.:  0.5007   1st Qu.: 0.42035   1st Qu.: 11.252  
 Median :0.03563   Median :  0.8523   Median : 1.01866   Median : 22.177  
 Mean   :0.06214   Mean   :  4.1450   Mean   : 1.97985   Mean   : 36.598  
 3rd Qu.:0.06160   3rd Qu.:  1.2654   3rd Qu.: 2.23304   3rd Qu.: 34.872  
 Max.   :2.62630   Max.   :545.0519   Max.   :53.67879   Max.   :506.140  
      x22                x23                 x24                 x25          
 Min.   : 0.02411   Min.   :   0.8373   Min.   : 0.004046   Min.   :  0.1063  
 1st Qu.: 0.18269   1st Qu.:   4.4894   1st Qu.: 0.036479   1st Qu.:  1.0406  
 Median : 0.34980   Median :   7.7355   Median : 0.096662   Median :  2.1045  
 Mean   : 0.75201   Mean   :  17.9948   Mean   : 0.353451   Mean   :  6.9821  
 3rd Qu.: 0.66069   3rd Qu.:  13.8213   3rd Qu.: 0.182730   3rd Qu.:  3.3604  
 Max.   :24.01334   Max.   :1087.0980   Max.   :20.588395   Max.   :326.5452  
      x26               x27              x28              x29         
 Min.   : 0.2359   Min.   : 0.000   Min.   : 0.000   Min.   : 0.0000  
 1st Qu.: 3.1542   1st Qu.: 8.425   1st Qu.: 1.068   1st Qu.: 0.3109  
 Median : 6.0857   Median :16.163   Median : 2.374   Median : 1.2659  
 Mean   :10.5093   Mean   :23.940   Mean   : 4.700   Mean   : 4.6938  
 3rd Qu.:12.1288   3rd Qu.:36.414   3rd Qu.: 5.116   3rd Qu.: 5.8438  
 Max.   :59.4433   Max.   :75.873   Max.   :43.162   Max.   :58.0766  

Técnicas da Análise Multivariada

Pode-se considerar que a estatística multivariada se divide em dois grupos: o primeiro consiste nas técnicas de simplificação da estrutura de variabilidade dos dados. Principalmente, fazem parte deste grupo a Análise de Componentes Principais, Análise Fatorial, Correlações Canônicas, Cluster e Discriminante.

O segundo grupo concentra os métodos de estimação de parâmetros, como na análise de Regressão Simples e Múltipla.

Para um estudo aprofundado das técnicas de Análise Multivariada, é importante revisar conceitos de Estatística Básica: média, variância, desvio padrão, covariância, correlação seriam as mais relevantes.

E também é importante revisar conceitos de álgebra matricial: vetores, matrizes, combinações lineares, dependência linear, raízes e vetores característicos e decomposição espectral, basicamente.

Análise de Componentes Principais

A Análise de Componentes Principais (ACP) é uma técnica de Análise Multivariada que consiste em transformar um conjunto original de variáveis em outro conjunto, os Componentes Principais (CP) com propriedades específicas. Os CP’s são combinações lineares das variáveis originais e são estimados de forma a captar o máximo da variação total dos dados. O processo de estimação é tal que o primeiro CP capta o máximo de variância possível, o segundo capta o máximo possível do restante de variância, o terceiro o máximo possível do restante de variância, e assim sucessivamente.

A ACP é apropriada quando as variáveis sob investigação são todas de mesma natureza, de modo que não tenhamos, por exemplo, uma ou mais variáveis dependentes e um conjunto de covariáveis, como no caso de análise de regressão.

Segundo Mingoti (2005, p. 59), “seu objetivo principal é o de explicar a estrutura de variância-covariância de um vetor aleatório, composto de p-variáveis aleatórias, através da construção de combinações lineares das variáveis originais. Estas combinações lineares são chamadas de componentes principais e são não correlacionadas entre si”.

Uma combinação linear de vetores ou de variáveis é um novo vetor (ou nova variável) defindo por

\[ y=a_1x_1+a_2x_2+a_3x_3+ \dots + a_px_p \] “Se temos p-variáveis originais é possível obter-se p componentes principais. No entanto, em geral deseja-se obter ‘redução do número de variáveis a serem avaliadas e interpretação das combinações lineares construídas’, ou seja, a informação contida nas p-variáveis originais é substituída pela informação contida em k (k\(<\)p) componentes principais não correlacionados” (MINGOTI, 2005, p. 59).

A ideia é que se algumas das variáveis originais são correlacionadas, elas estão, efetivamente, “dizendo a mesma coisa”. Nesse caso, um conjunto menor de variáveis, não-correlacionadas, pode ser tão eficaz quanto o conjunto de variáveis originais para explicar a estrutura de variância-covariância dos dados.

Matricialmente, pode ser escrita como \(y=a'x\) onde os a’s são as constantes que definem a combinação linear e são determinadas de forma a atender às características da combinação linear que se deseja. Como as variáveis são dadas, os coeficientes a’s são determinados de forma a atender às restrições estabelecidas, ou seja, o princípio da técnica. As combinações lineares tem média e variância definidas, respectivamente, por \(E(Y)=a'\mu\) e \(V(Y)=a'\sum a\).

Mais de uma combinação linear pode ser definida de um conjunto de variáveis. Em geral, com p variáveis pode-se formar p combinaçoes lineares diferentes.

A ACP transforma um conjunto de variáveis correlacionadas em um conjunto de variáveis não-correlacionadas. Assim, se as variáveis originais são aproximadamente não correlacionadas, não faz sentido ser feita uma ACP.

Variáveis quantitativas usadas em análise multivariada são, geralmente, expressas em unidades diferentes. Diferenças de escalas afetam a contribuição da variável para a variância generalizada. Para usar essas variáveis em uma técnica multivariada elas precisam ser transformadas para uma escala comum. Entre os métodos usados alguns eliminam diferenças em tamanho (escala) outras reduzem tamanho e variabilidade para uma escala comum.

O método mais usado para tornar variáveis comparáveis é a Padronização, que consiste em subtrair a média e dividir pelo desvio padrão. Além de simplificar cálculos e manipulações matemáticas, a padronização de variáveis é importante para resolver o problema de unidades de medidas diferentes das variáveis e do desbalanceamento entre as variâncias. Toda variável padronizada tem média zero, variância igual a um e é adimensional.

Uma questão importante é que a covariância entre variáveis padronizadas é igual a correlação entre variáveis originais. Assim, usar a matriz de correlações das variáveis ao invés da matriz var-cov é o mesmo que trabalhar com variáveis padronizadas.

Existe uma tendência para que a variável com maior volatilidade cause uma desestabilização na Análise de Componentes Principais e também na Análise Fatorial. A solução é padronizar as variáveis de forma que tenham média zero e variância unitária.

A Análise passa a ser determinar as raízes características e os vetores característicos da matriz de correlações.

Sobre raízes e vetores característicos, uma matriz quadrada A tem raízes características \(\lambda_i\) e vetores característicos \(X_i\) dados pela seguinte relação \(AX=\lambda X\). Uma matriz \(p_xp\) tem p raízes e p vetores característicos e a relação pode ser escrita como \(AX_i=\lambda_i X_i\) o que, intituitivamente, significa que existem constantes \(\lambda_i\) e vetores \(X_i\), tais que a multiplicação da matriz pelo vetor é igual à multiplicação do vetor por uma constante.

As raízes e vetores característicos são encontrados a partir de

\[ AX=\lambda X \]

\[ AX - \lambda X= 0 \] \[ (A- \lambda I)X= 0 \]

sendo que a equação é verdadeira para qualquer \(\lambda\) se \(X=0\), mas esta solução não interessa. Para se ter uma solução \(X \neq 0\), a inversa da equação característica \((A- \lambda I)\) não deve existir e, para isto, o seu determinante precisa ser igual a zero. Assim, pode-se entender \(\lambda\) (raízes características) como os valores que zeram o determinante da equação característica.

Os vetores característicos não são únicos, devendo ser normalizados. Para cada raiz característica existe um vetor característico que é encontrado resolvendo a expressão \((A-\lambda_i I)X_i=0\).

As raízes características possuem um conjunto de propriedades:

  1. \(tr(A) = \sum_{i=1}^{p} \lambda_i\);
  2. \(det(A) = \Pi_{i=1}^{p}\). Se alguma raiz característica for zero, o determinante de A é zero e a matriz não possui inversa;
  3. Para uma matriz diagonal, as raízes são os elementos da diagonal principal;
  4. Para uma matriz triangular, as raízes são os elementos da diagonal principal;
  5. Raízes de A são iguais as de \(A'\);
  6. As raízes de \(A^{-1}\) são iguais a \(1/ \lambda_i\), mas os vetores característicos são os mesmos;
  7. Se A é ortogonal, \(\lambda_i=1\) ou \(-1\);
  8. Se A é uma matriz idempotente, \(\lambda_i=1\) ou \(0\);
  9. Raízes características de matrizes simétrica são números reais;
  10. Os vetores característicos de matrizes simétricas são ortogonais, ou seja, não correlacionados.

Obtenção dos Componentes Principais

Considere um vetor de p variáveis padronizadas dada por

\[ \mathbf{Z'}=\left[\begin{array}{llll} Z_1 &Z_2 &\dots &Z_p \end{array}\right] \] os CP’s são combinações lineares dos \(Z's\)

\[ Y_j=a'_jZ=a_{j1}Z_1+a_{j2}Z_2+\dots+a_{jp}Z_p \]

sendo que é possível ter até p CP’s, com o primeiro tendo a maior variância, o segundo CP tendo a segunda maior variância e sendo ortogonal ao primeiro, etc. Neste caso, a variância de \(Z_i\) é dada por \(V(Z_i)=a_i'\sum a_i\) e o que deve ser feito é encontrar os coeficientes de \(a_i\) das combinaçoes lineares de forma a satisfazer as condições acima definidas.

É possível demonstrar (LIMA, 2015) que a solução se resume em encontrar as raízes características \((\lambda_i)\) e os vetores característicos \((a_i)\) da matriz var-cov \((\sum)\) das variáveis. Os coeficientes dos CP’s são os elementos dos vetores característicos \((a_i)\).

Além disso, é possível demonstrar que \(\sum a_i= \lambda a_i\) e, consequentemente,

\[ V(Z_i)=a_i'\sum a_i = a_i'\lambda a_i = \lambda a_i'a_i \]

e que a \(V(Z_i) = \lambda _i\) pois pela ortogonalidade \(a_i'a_i =1\) (\(a_i'a_i=\sum_{p=1}^ja_{jp}^2\)), o que significa que a variância do componente i é igual a sua raiz característica.

Finalmente, dado que \(a_i'a_k =0\), a covariância entre os CP’s é igual a zero, ou seja, não são correlacionados, são ortogonais.

Como dito anteriormente, com p variáveis é possível ter até p CP’s. Assim, a variância total dos p componentes tem que ser igual a variância total das variáveis Z.

A importância relativa de cada componente é dada pelo percentual de sua variância em relação à variância total, ou seja, é a variância explicada ou captada por ele. Assim, a importância relativa de \(Z_k\) é dada por \(( \lambda_k / \sum_{i}^{p} \lambda_i)100\). Se um, dois ou três componentes captam grande parcela da variância dos dados, pode-se concentrar a análise neste número menor de variáveis.

Como a idéia da ACP é redução da massa de dados para uma dimensão mais adequada para análise, se faz necessário decidir quantos CP’s usar. Com p variáveis deve-se manter k componentes, sendo \(k<q\). A determinação de k não é uma decisão estatística porque não se tem um modelo adequado para tal e por isso é feita de forma prática. Utiliza-se os seguintes critérios:

  1. Dada a importância relativa de cada componente, manter o número de componentes que captam “certa” percentagem da variância dos dados, com \(70\%\) sendo um valor de referência;

  2. Desconsiderar os componentes com variância inferior à variância média das variáveis originais.

Interpretação dos Coeficientes do Componente Principal

Os coeficientes dos componentes indicam a importância da variável para o componente. Isto possibilita atribuir um significado ao componente. Além do coeficiente pode-se calcular a correlação entre o componente e a variável. A correlação entre \(Y_j\) e a variável padronizada \(Z_i\) é igual a:

\[ r_{Y_i,Z_k}=\frac{a_{ik}}{\sqrt{\sigma_k^2}}\sqrt{\lambda_i} \] e, então, as variáveis \(\mathbf{Z}\) com os maiores coeficientes na componente principal \(\mathbf{Y_j}\) são as mais correlacionadas com a componente. A matriz de correlações entre as variáveis e os componentes é bastante importante para entender os componentes e lhes atribuir um nome. É possível também testar a significância estatística de cada peso ou coeficiente do componente. A hipótese nula é de que o coeficiente é estatisticamente igual a zero.

Análise de Componentes Principais - Escores

Escore é o valor de \(\mathbf{Y_i}\) para cada observação. Estes servem para, por exemplo:

  1. comparar ou ordenar as observações;
  2. Análise de cluster ou regressão.

Demonstração de ACP no R

#Direcionado o R para o Diretorio a ser trabalhado
#setwd('/Users/jricardofl/Dropbox/tempecon/multivariada')

#Lendo os dados no R
library(car)
library(tidyverse)
library(corrplot)
library(graphics)
library(ade4)
library(grid)
library(MVar.pt)
library(factoextra)

data(mtcars)

#Format
#A data frame with 32 observations on 11 (numeric) variables.

#[, 1] mpg Milhas/(EUA) galão
#[, 2] cil Número de cilindros
#[, 3] disp Cilindradas cc
#[, 4] HP Potência bruta
#[, 5] drat Relação do eixo traseiro
#[, 6] Peso em peso (1000 lbs)
#[, 7] qsex tempo 1/4 de milha
#[, 8] vs Motor (0 = em forma de V, 1 = reto)
#[, 9] am Transmissão (0 = automática, 1 = manual)
#[,10] gear Número de marchas para frente
#[,11] carb Número de carburadores

# Criando um objeto
dados <- mtcars
summary(dados) # estatística descritiva dos dados
      mpg             cyl             disp             hp       
 Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
 1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
 Median :19.20   Median :6.000   Median :196.3   Median :123.0  
 Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
 3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
 Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
      drat             wt             qsec             vs        
 Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
 1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
 Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
 Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
 3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
 Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
       am              gear            carb      
 Min.   :0.0000   Min.   :3.000   Min.   :1.000  
 1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
 Median :0.0000   Median :4.000   Median :2.000  
 Mean   :0.4062   Mean   :3.688   Mean   :2.812  
 3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
 Max.   :1.0000   Max.   :5.000   Max.   :8.000  
# Retirando as variáveis binárias
dados <- mtcars |>
  dplyr::select(-vs, -am)

# Verificação da estrutura dos dados
glimpse(dados)
Rows: 32
Columns: 9
$ mpg  <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19.2, 17.8,…
$ cyl  <dbl> 6, 6, 4, 6, 8, 6, 8, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 4, 4, 4, 4, 8,…
$ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 140.8, 16…
$ hp   <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, 180, 180…
$ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.92, 3.92,…
$ wt   <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3.150, 3.…
$ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 22.90, 18…
$ gear <dbl> 4, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4, 3, 3,…
$ carb <dbl> 4, 4, 1, 1, 2, 1, 4, 2, 2, 4, 4, 3, 3, 3, 4, 4, 4, 1, 2, 1, 1, 2,…
head(dados)
tail(dados)
# ESTIMACAO DAS ESTATISTICAS DESCRITIVAS E CALCULO DA MATRIZ DE CORRELAÇOES
summary(dados) #sem as variáveis binárias
      mpg             cyl             disp             hp       
 Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
 1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
 Median :19.20   Median :6.000   Median :196.3   Median :123.0  
 Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
 3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
 Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
      drat             wt             qsec            gear      
 Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :3.000  
 1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:3.000  
 Median :3.695   Median :3.325   Median :17.71   Median :4.000  
 Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :3.688  
 3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:4.000  
 Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :5.000  
      carb      
 Min.   :1.000  
 1st Qu.:2.000  
 Median :2.000  
 Mean   :2.812  
 3rd Qu.:4.000  
 Max.   :8.000  
desvpad <- sapply(dados, sd) #para calcular o desvio-padrao
round(desvpad,2)
   mpg    cyl   disp     hp   drat     wt   qsec   gear   carb 
  6.03   1.79 123.94  68.56   0.53   0.98   1.79   0.74   1.62 
cov(dados) #covariância
             mpg         cyl        disp          hp         drat          wt
mpg    36.324103  -9.1723790  -633.09721 -320.732056   2.19506351  -5.1166847
cyl    -9.172379   3.1895161   199.66028  101.931452  -0.66836694   1.3673710
disp -633.097208 199.6602823 15360.79983 6721.158669 -47.06401915 107.6842040
hp   -320.732056 101.9314516  6721.15867 4700.866935 -16.45110887  44.1926613
drat    2.195064  -0.6683669   -47.06402  -16.451109   0.28588135  -0.3727207
wt     -5.116685   1.3673710   107.68420   44.192661  -0.37272073   0.9573790
qsec    4.509149  -1.8868548   -96.05168  -86.770081   0.08714073  -0.3054816
gear    2.135685  -0.6491935   -50.80262   -6.358871   0.27598790  -0.4210806
carb   -5.363105   1.5201613    79.06875   83.036290  -0.07840726   0.6757903
             qsec        gear        carb
mpg    4.50914919   2.1356855 -5.36310484
cyl   -1.88685484  -0.6491935  1.52016129
disp -96.05168145 -50.8026210 79.06875000
hp   -86.77008065  -6.3588710 83.03629032
drat   0.08714073   0.2759879 -0.07840726
wt    -0.30548161  -0.4210806  0.67579032
qsec   3.19316613  -0.2804032 -1.89411290
gear  -0.28040323   0.5443548  0.32661290
carb  -1.89411290   0.3266129  2.60887097
# Matriz de Correlacoes
matcor <- cor(dados)
print(matcor, digits=4)
         mpg     cyl    disp      hp     drat      wt    qsec    gear     carb
mpg   1.0000 -0.8522 -0.8476 -0.7762  0.68117 -0.8677  0.4187  0.4803 -0.55093
cyl  -0.8522  1.0000  0.9020  0.8324 -0.69994  0.7825 -0.5912 -0.4927  0.52699
disp -0.8476  0.9020  1.0000  0.7909 -0.71021  0.8880 -0.4337 -0.5556  0.39498
hp   -0.7762  0.8324  0.7909  1.0000 -0.44876  0.6587 -0.7082 -0.1257  0.74981
drat  0.6812 -0.6999 -0.7102 -0.4488  1.00000 -0.7124  0.0912  0.6996 -0.09079
wt   -0.8677  0.7825  0.8880  0.6587 -0.71244  1.0000 -0.1747 -0.5833  0.42761
qsec  0.4187 -0.5912 -0.4337 -0.7082  0.09120 -0.1747  1.0000 -0.2127 -0.65625
gear  0.4803 -0.4927 -0.5556 -0.1257  0.69961 -0.5833 -0.2127  1.0000  0.27407
carb -0.5509  0.5270  0.3950  0.7498 -0.09079  0.4276 -0.6562  0.2741  1.00000
corrplot(cor(dados), order="hclust", tl.col="black", tl.cex = .75)

#Análise de componentes principais - dados devem ser padronizados
#Padronizacao dos dados
dados.pad <- as.data.frame(scale(dados))

#Analise de Componentes principais com prcomp
resultados.pca <- prcomp(dados.pad, scale = TRUE) #ACP

#Raizes Caracteristicas - 1 Forma
(resultados.pca$sdev)^2
[1] 5.65593947 2.08210029 0.50421482 0.26502753 0.18315864 0.12379319 0.10506192
[8] 0.05851375 0.02219038
summary(resultados.pca)
Importance of components:
                          PC1    PC2     PC3     PC4     PC5     PC6     PC7
Standard deviation     2.3782 1.4429 0.71008 0.51481 0.42797 0.35184 0.32413
Proportion of Variance 0.6284 0.2313 0.05602 0.02945 0.02035 0.01375 0.01167
Cumulative Proportion  0.6284 0.8598 0.91581 0.94525 0.96560 0.97936 0.99103
                          PC8     PC9
Standard deviation     0.2419 0.14896
Proportion of Variance 0.0065 0.00247
Cumulative Proportion  0.9975 1.00000
sum((resultados.pca$sdev)^2) #traco da matriz
[1] 9
#É possivel escolher o número de CP com base no Autovalor >1
(resultados.pca$sdev^2)
[1] 5.65593947 2.08210029 0.50421482 0.26502753 0.18315864 0.12379319 0.10506192
[8] 0.05851375 0.02219038
# Gráfico do percentual de variância explicada
screeplot(resultados.pca, type="lines")

fviz_eig(resultados.pca)

Se observa que 62,84% da variabilidade total dos dados são explicados pela primeira componente principal. Além disso, a segunda componente principal explica 23,13% da variação total. As duas primeiras componentes principais explicam juntas 85,98% da variabilidade total dos dados.

#Resultados das combinações lineares
resultados.pca
Standard deviations (1, .., p=9):
[1] 2.3782219 1.4429485 0.7100809 0.5148082 0.4279704 0.3518426 0.3241326
[8] 0.2418962 0.1489644

Rotation (n x k) = (9 x 9):
            PC1         PC2         PC3          PC4        PC5         PC6
mpg  -0.3931477  0.02753861 -0.22119309 -0.006126378 -0.3207620  0.72015586
cyl   0.4025537  0.01570975 -0.25231615  0.040700251  0.1171397  0.22432550
disp  0.3973528 -0.08888469 -0.07825139  0.339493732 -0.4867849 -0.01967516
hp    0.3670814  0.26941371 -0.01721159  0.068300993 -0.2947317  0.35394225
drat -0.3118165  0.34165268  0.14995507  0.845658485  0.1619259 -0.01536794
wt    0.3734771 -0.17194306  0.45373418  0.191260029 -0.1874822 -0.08377237
qsec -0.2243508 -0.48404435  0.62812782 -0.030329127 -0.1482495  0.25752940
gear -0.2094749  0.55078264  0.20658376 -0.282381831 -0.5624860 -0.32298239
carb  0.2445807  0.48431310  0.46412069 -0.214492216  0.3997820  0.35706914
             PC7         PC8         PC9
mpg   0.38138068  0.12465987  0.11492862
cyl   0.15893251 -0.81032177  0.16266295
disp  0.18233095  0.06416707 -0.66190812
hp   -0.69620751  0.16573993  0.25177306
drat -0.04767957 -0.13505066  0.03809096
wt    0.42777608  0.19839375  0.56918844
qsec -0.27622581 -0.35613350 -0.16873731
gear  0.08555707 -0.31636479  0.04719694
carb  0.20604210  0.10832772 -0.32045892
#Escores para cada observação
resultados.pca$x # valores das componentes principais
                            PC1        PC2         PC3         PC4         PC5
Mazda RX4           -0.66422351  1.1734476 -0.20431724 -0.12601751  0.75200784
Mazda RX4 Wag       -0.63719807  0.9769448  0.11077779 -0.08567709  0.65668822
Datsun 710          -2.29973601 -0.3265893 -0.21014955 -0.10862524 -0.07622329
Hornet 4 Drive      -0.21529670 -1.9768101 -0.32946822 -0.30806225 -0.24391787
Hornet Sportabout    1.58697405 -0.8287285 -1.03299254  0.14738418 -0.22270405
Valiant              0.04960512 -2.4466838  0.11177774 -0.87154914 -0.12574876
Duster 360           2.71439677  0.3610529 -0.65206041  0.09633337  0.29674234
Merc 240D           -2.04370658 -0.8006412  0.84898795 -0.27451338 -0.26307848
Merc 230            -2.29506729 -1.3056004  1.96848450  0.05055875 -0.45988113
Merc 280            -0.38252133  0.5811211  0.88632274  0.07026946  0.45835852
Merc 280C           -0.36652708  0.4121971  1.14860950  0.06150898  0.48309076
Merc 450SE           1.88466875 -0.7241198 -0.20604588 -0.21856675  0.27996207
Merc 450SL           1.67107231 -0.7144354 -0.32644071 -0.28933625  0.28061777
Merc 450SLC          1.77692371 -0.8411687 -0.08557921 -0.28421711  0.34961695
Cadillac Fleetwood   3.64958983 -0.9480878  0.88315862  0.21645793 -0.34788247
Lincoln Continental  3.71033756 -0.8426945  0.93230325  0.34099021 -0.34260485
Chrysler Imperial    3.33196300 -0.4805609  0.67061959  0.65189724 -0.43940743
Fiat 128            -3.45236266 -0.4327074 -0.22604214  0.10018032 -0.33470301
Honda Civic         -3.85477722  0.7084152 -0.22670973  1.19340342  0.53954318
Toyota Corolla      -3.85488283 -0.3872111 -0.25488964  0.21962306 -0.30372397
Toyota Corona       -1.90375523 -1.5725638  0.06620424  0.07989679  0.50126570
Dodge Challenger     1.80402354 -1.1340965 -1.00776416 -0.58796239  0.09903732
AMC Javelin          1.46483534 -0.9777629 -0.76680342 -0.03308788  0.26871378
Camaro Z28           2.60135738  0.7649595 -0.48915140  0.95247550  0.53065965
Pontiac Firebird     1.87424485 -0.9791561 -0.89787633  0.22438738 -0.50770999
Fiat X1-9           -3.14830645 -0.2552569 -0.36230545  0.06406082  0.03361267
Porsche 914-2       -2.77939557  1.6373369 -0.35969974  0.31886540 -0.43251030
Lotus Europa        -2.90895427  1.3962368 -0.91635036 -0.90254314 -0.75861156
Ford Pantera L       1.54812696  3.0206982 -0.51945216  0.86560850 -0.86048411
Ferrari Dino         0.08049995  2.8346567  0.34481747 -1.14659658  0.29944552
Maserati Bora        2.96252801  3.9993896  0.70296512 -0.73000448 -0.22756074
Volvo 142E          -1.90443632  0.1084190  0.39906976  0.31285789  0.11738974
                            PC6         PC7          PC8          PC9
Mazda RX4           -0.12506777  0.42357334  0.003259165 -0.167051112
Mazda RX4 Wag       -0.06619437  0.44849307 -0.056643244 -0.071592094
Datsun 710          -0.56693648 -0.38612406  0.202035744  0.114505030
Hornet 4 Drive       0.08382435 -0.03299362  0.023714111 -0.145255757
Hornet Sportabout    0.18280435  0.05793795 -0.152342587 -0.154646072
Valiant             -0.23043022 -0.22451528 -0.098663134 -0.004233901
Duster 360           0.27763557 -0.44227307  0.306373481 -0.186980810
Merc 240D           -0.19042527  0.39416400  0.187088365 -0.010461330
Merc 230             0.20443847 -0.53713423 -0.413455512 -0.169005773
Merc 280            -0.07984989  0.26113412 -0.204105964  0.110461785
Merc 280C           -0.16066456  0.07979514 -0.352641772  0.027108266
Merc 450SE           0.17135058  0.08914480 -0.092140434  0.396034809
Merc 450SL           0.33682412 -0.03346598 -0.182323579  0.196526577
Merc 450SLC          0.13926264 -0.20632469 -0.295340402  0.147796262
Cadillac Fleetwood  -0.24002207  0.31053111  0.171865268 -0.251117818
Lincoln Continental -0.22646211  0.28589695  0.239313268 -0.028994385
Chrysler Imperial    0.31045750  0.38304409  0.359765688  0.223097923
Fiat 128             0.57303421  0.24650594  0.066340528  0.220271421
Honda Civic          0.37207104  0.20055288 -0.087333576 -0.241702175
Toyota Corolla       0.83750899  0.10186868 -0.104053562  0.042833437
Toyota Corona       -0.07212137 -0.74680802  0.408144457 -0.082722856
Dodge Challenger    -0.33920894  0.14045443 -0.156086022 -0.050247532
AMC Javelin         -0.31479492 -0.03753417 -0.370979414 -0.043466032
Camaro Z28           0.05970074 -0.38212238  0.289612990  0.082069840
Pontiac Firebird     0.20785973  0.32709161 -0.027471038 -0.130958896
Fiat X1-9           -0.09586730 -0.10352270  0.020876499  0.021084764
Porsche 914-2       -0.69006515  0.26313120  0.105695694  0.085027267
Lotus Europa         0.05473409  0.03491081  0.236552376 -0.046341050
Ford Pantera L      -0.50704173 -0.37940892 -0.548070377  0.053196712
Ferrari Dino        -0.08124583  0.26924964  0.123537656 -0.047915313
Maserati Bora        0.65580986 -0.49422807  0.082329298 -0.053112079
Volvo 142E          -0.48091826 -0.31102454  0.315146031  0.165790892
#Correlaçoes entre as variaveis e os escores
cor(dados, resultados.pca$x)
            PC1         PC2         PC3         PC4         PC5          PC6
mpg  -0.9349924  0.03973679 -0.15706498 -0.00315391 -0.13727663  0.253381487
cyl   0.9573620  0.02266837 -0.17916487  0.02095282  0.05013231  0.078927259
disp  0.9449932 -0.12825603 -0.05556481  0.17477417 -0.20832951 -0.006922559
hp    0.8730011  0.38875010 -0.01222162  0.03516191 -0.12613645  0.124531951
drat -0.7415688  0.49298721  0.10648022  0.43535196  0.06929950 -0.005407096
wt    0.8882114 -0.24810498  0.32218796  0.09846224 -0.08023684 -0.029474687
qsec -0.5335561 -0.69845105  0.44602154 -0.01561368 -0.06344640  0.090609806
gear -0.4981777  0.79475097  0.14669117 -0.14537249 -0.24072736 -0.113638954
carb  0.5816671  0.69883885  0.32956322 -0.11042236  0.17109485  0.125632122
             PC7         PC8          PC9
mpg   0.12361790  0.03015474  0.017120269
cyl   0.05151520 -0.19601372  0.024230983
disp  0.05909940  0.01552177 -0.098600723
hp   -0.22566353  0.04009185  0.037505214
drat -0.01545450 -0.03266824  0.005674196
wt    0.13865616  0.04799069  0.084788796
qsec -0.08953378 -0.08614732 -0.025135847
gear  0.02773183 -0.07652743  0.007030663
carb  0.06678495  0.02620406 -0.047736960

Análise Gráfica da ACP

fviz_pca_ind(resultados.pca,
             col.ind = "cos2", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), 
             repel = TRUE, 
             legend.title = "Representation")

fviz_pca_var(resultados.pca, 
             col.var = "contrib", 
             gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"), 
             repel = TRUE, 
             legend.title = "Contribution")

fviz_pca_biplot(resultados.pca, 
                repel = TRUE, 
                col.var = "#2E9FDF", 
                col.ind = "#696969")

dados <- mtcars %>% mutate(
  am = case_when(am == 0 ~ "Automatic", 
                 TRUE ~ "Manual"))

fviz_pca_ind(resultados.pca, 
            col.ind = dados$am, 
             palette = c("#00AFBB", "#FC4E07"), 
             addEllipses = TRUE, 
             legend.title = "Engine shape", 
             repel = TRUE)

fviz_pca_biplot(resultados.pca, 
                repel = TRUE, 
                col.var = "black", 
                col.ind = as.factor(dados$am), 
                addEllipses = TRUE, 
                legend.title = "Transmissão")